package com.tx.admin.noveldictdetail.service;

import com.mybatisflex.core.service.IService;
import com.tx.admin.noveldictdetail.pojo.po.NovelDictDetail;
import com.tx.core.common.entity.SelectIdsDTO;
import com.tx.core.common.entity.PageResult;
import java.util.List;
import java.util.Map;

import com.tx.admin.noveldictdetail.pojo.dto.NovelDictDetailCreateDTO;
import com.tx.admin.noveldictdetail.pojo.dto.NovelDictDetailUpdateDTO;
import com.tx.admin.noveldictdetail.pojo.dto.NovelDictDetailListDTO;
import com.tx.admin.noveldictdetail.pojo.vo.NovelDictDetailVO;
import com.tx.core.common.entity.ImportExcelDTO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * <p>
 * 字典详情 Service
 * </p>
 *
 * @author sz-admin
 * @since 2025-05-06
 */
public interface NovelDictDetailService extends IService<NovelDictDetail> {

    void create(NovelDictDetailCreateDTO dto);

    void update(NovelDictDetailUpdateDTO dto);

    PageResult<NovelDictDetailVO> page(NovelDictDetailListDTO dto);

    List<NovelDictDetailVO> list(NovelDictDetailListDTO dto);

    void remove(SelectIdsDTO dto);

    NovelDictDetailVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(NovelDictDetailListDTO dto, HttpServletResponse response);

    List<NovelDictDetailVO> getDetailsByCode(String code);

    Map<String, List<NovelDictDetailVO>> getDetailOption();
}